#include<stdio.h>
#include<unistd.h>
#include<pthread.h>

void* func(void* arg){
    // 将传入的参数转换为int类型指针，并将该指针指向的值加1
    (*((int*)arg)) ++; // 将参数转换为int指针，并将其指向的值加1
    return NULL;
}

int main(){
    int num=100;
    // 创建线程
    pthread_t tid;
    int res = pthread_create(&tid, NULL, func, &num);
    if(res){
        // 如果创建线程失败，则输出错误信息并返回1
        perror("pthread_create error");
        return 1;
    }
    // 等待线程结束
    res = pthread_join(tid,NULL);
    if(res){
        // 如果等待线程结束失败，则输出错误信息并返回1
        perror("pthread_join error");
        return 1;
    }

    // 输出num的值
    printf("num = %d\n", num);
    return 0;
}